↳ ITRS
↳ ITRStoIDPProof
z
f(TRUE, x) → f(>=@z(1000@z, x), +@z(x, 1@z))
f(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
f(TRUE, x) → f(>=@z(1000@z, x), +@z(x, 1@z))
(0) -> (0), if ((+@z(x[0], 1@z) →* x[0]a)∧(>=@z(1000@z, x[0]) →* TRUE))
f(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (0), if ((+@z(x[0], 1@z) →* x[0]a)∧(>=@z(1000@z, x[0]) →* TRUE))
f(TRUE, x0)
(1) (+@z(x[0], 1@z)=x[0]1∧+@z(x[0]1, 1@z)=x[0]2∧>=@z(1000@z, x[0])=TRUE∧>=@z(1000@z, x[0]1)=TRUE ⇒ F(TRUE, x[0]1)≥NonInfC∧F(TRUE, x[0]1)≥F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))∧(UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥))
(2) (>=@z(1000@z, x[0])=TRUE∧>=@z(1000@z, +@z(x[0], 1@z))=TRUE ⇒ F(TRUE, +@z(x[0], 1@z))≥NonInfC∧F(TRUE, +@z(x[0], 1@z))≥F(>=@z(1000@z, +@z(x[0], 1@z)), +@z(+@z(x[0], 1@z), 1@z))∧(UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥))
(3) (1000 + (-1)x[0] ≥ 0∧999 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥)∧-2 + (-1)Bound + (-1)x[0] ≥ 0∧0 ≥ 0)
(4) (1000 + (-1)x[0] ≥ 0∧999 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥)∧-2 + (-1)Bound + (-1)x[0] ≥ 0∧0 ≥ 0)
(5) (999 + (-1)x[0] ≥ 0∧1000 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥)∧0 ≥ 0∧-2 + (-1)Bound + (-1)x[0] ≥ 0)
(6) (999 + x[0] ≥ 0∧1000 + x[0] ≥ 0∧x[0] ≥ 0 ⇒ (UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥)∧0 ≥ 0∧-2 + (-1)Bound + x[0] ≥ 0)
(7) (999 + (-1)x[0] ≥ 0∧1000 + (-1)x[0] ≥ 0∧x[0] ≥ 0 ⇒ (UIncreasing(F(>=@z(1000@z, x[0]1), +@z(x[0]1, 1@z))), ≥)∧0 ≥ 0∧-2 + (-1)Bound + (-1)x[0] ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(1000@z) = 1000
POL(TRUE) = -1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(F(x1, x2)) = -1 + (-1)x2
POL(1@z) = 1
POL(undefined) = -1
F(TRUE, x[0]) → F(>=@z(1000@z, x[0]), +@z(x[0], 1@z))
F(TRUE, x[0]) → F(>=@z(1000@z, x[0]), +@z(x[0], 1@z))
+@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
f(TRUE, x0)